package cn.cdutetc.library.entity.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 通知数据传输对象
 */
@Data
@Schema(description = "通知数据传输对象")
public class NotificationDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "接收用户ID，如果为空则发送给所有用户")
    private Integer userId;

    @NotNull(message = "通知类型不能为空")
    @Schema(description = "通知类型：1-系统通知，2-借阅提醒，3-还书提醒，4-逾期提醒，5-罚款通知")
    private Integer type;

    @NotBlank(message = "通知标题不能为空")
    @Schema(description = "通知标题")
    private String title;

    @NotBlank(message = "通知内容不能为空")
    @Schema(description = "通知内容")
    private String content;

    @Schema(description = "通知方式：email/system，可不传默认system")
    private String notifyWay;
}